package com.anyou.mall.goo.goods.mapper;

import java.util.List;

import com.anyou.mall.goo.goods.domain.GooGoods;
import com.anyou.mall.goo.goods.dto.GoodsIntegralListDTO;
import com.anyou.mall.goo.goods.vo.PartsBrandNameListVo;
import com.anyou.mall.goo.goods.vo.PartsClassifyNameListVo;
import com.anyou.mall.goo.goods.vo.ShopNameListVo;
import com.anyou.mall.goo.vo.SysUserVo2;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.data.repository.query.Param;

/**
 * 商品Mapper接口
 *
 * @author ruoyi
 * @date 2022-03-24
 */
public interface GooGoodsMapper extends BaseMapper<GooGoods>
{
    /**
     * 查询商品
     *
     * @param goodsId 商品主键
     * @return 商品
     */
    public GooGoods selectGooGoodsByGoodsId(Long goodsId);

    /**
     * 查询商品列表
     *
     * @param gooGoods 商品
     * @return 商品集合
     */

    public List<GooGoods> selectGooGoodsList(GooGoods gooGoods);

    /**
     * 新增商品
     *
     * @param gooGoods 商品
     * @return 结果
     */
    public int insertGooGoods(GooGoods gooGoods);

    /**
     * 修改商品
     *
     * @param gooGoods 商品
     * @return 结果
     */
    public int updateGooGoods(GooGoods gooGoods);

    /**
     * 删除商品
     *
     * @param goodsId 商品主键
     * @return 结果
     */
    public int deleteGooGoodsByGoodsId(Long goodsId);

    /**
     * 批量删除商品
     *
     * @param goodsIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteGooGoodsByGoodsIds(Long[] goodsIds);

    /**
     * 查询品牌信息列表
     * @param partsBrandId  品牌id
     * @return
     */
    public List<PartsBrandNameListVo> selectPartsBrandName(Long partsBrandId);

    /**
     * 查询分类信息列表
     * @param partsClassifyId 分类id
     * @return
     */
    public List<PartsClassifyNameListVo> selectPartsClassifyName(Long partsClassifyId);

    /**
     * 查询店铺信息
     * @param carPartsShopId 汽配商编号
     * @return
     */
    public ShopNameListVo selectShopName(Long carPartsShopId);

    /**
     * 获取系统用户
     * @param userId
     * @return
     */
    SysUserVo2 getUser(@Param("userId") Long userId);

    /**
     * 分页查询积分商品列表
     * @param gooGoods
     * @return
     */
    public List<GooGoods> selectGooGoodsIntegralList(GoodsIntegralListDTO gooGoods);
}
